import java.util.ArrayList;
import java.util.List;

class Solution {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> list = new ArrayList<>();
        //第一行
        List<Integer> list0 = new ArrayList<>();
        list0.add(1);
        list.add(list0);
        //其他行
        for (int i = 1; i < numRows; i++) {
            //第一个数字
            List<Integer> tmp = new ArrayList<>();
            tmp.add(1);
            //上一行
            List<Integer> prevRow = list.get(i-1);
            //中间数字
            for (int j = 1; j < i; j++) {
                int val1 = prevRow.get(j);
                int val2 = prevRow.get(j-1);
                tmp.add(val1+val2);
            }
            //结尾数字
            tmp.add(1);
            list.add(tmp);
        }
        return list;
    }
}